#pragma once

#include "DAEMatrix.h"
#include <vector>
using namespace std;
class DAEMatrixArray:public FXValue
{
public:
	DAEMatrixArray(int size);
	virtual ~DAEMatrixArray(void);
	/**
	* Adds a value to the float array.
	* @param index the index to set.
	* @param value the float value to set.
	*/
	void SetValue(unsigned int index, DAEMatrix value);
	/**
	*Returns the value for the given index.
	* @return the value.
	*/
	void GetValue(unsigned int index,DAEMatrix& out);
	/**
	* Returns the size in bytes.
	* @return the size in bytes.
	*/
	int GetSizeInBytes()const{
		return m_Size*16*sizeof(float);
	}
	/**
	* Returns a pointer to the first value.
	* @return the pointer to the first value.
	*/
	const void* GetValuePointer()const{
		return m_Data;
	}
private:
	int m_Size;
	float* m_Data;
};
